package com.cloud.punish.api.service;

import java.util.Map;

import com.cloud.punish.api.bean.*;
import com.github.pagehelper.PageInfo;

public interface RecPunishService {
	
	/**
	 * 保存或更新处罚案卷信息
	 * @param punish
	 * @return
	 */
	RecPunishForm saveUpdate(RecPunishForm punish);

	/**
	 * 加载案卷信息
	 * @param recId
	 * @return
	 */
	RecPunishForm load(long recId);

	/**
	 * 案件分页查询
	 * @param criteria
	 * @return
	 */
	PageInfo<RecPunishSearchBean> searchPunishPage(RecPunishSearchCriteria criteria);
	
	/**
	 * 执法案件统计
	 * @param criteria
	 * @return
	 */
	PageInfo<Map<String, Object>> statPunishPage(RecPunishStatCriteria criteria);

	/**
	 * 案件作废
	 * @param recId
	 */
	void cancel(Long recId);

	/**
	 * 案件移交部门
	 * @param recId
	 * @param humanDetail
	 * @return
	 */
	int caseTransfer(Long recId, HumanDetail humanDetail);
}
